ConSIT: A Conditioned Program Slicer
نویسندگان
چکیده
Conditioned slicing is a powerful generalisation of static and dynamic slicing which has applications to many problems in software maintenance and evolution, including re-use, reengineering and program comprehension. However, there has been relatively little work on the implementation of conditioned slicing. Algorithms for implementing conditioned slicing necessarily involve reasoning about the values of program predicates in certain sets of states derived from the conditioned slicing criterion, making implementation particularly demanding. This paper introduces ConSIT, a conditional slicing system which is based upon conventional static slicing, symbolic execution and theorem proving. ConSIT is the first fully automated implementation of conditioned slicing. An implementation of ConSIT is available for experimentation at http://www.mcs.gold.ac.uk/ ̃mas01sd/ consit.html.
منابع مشابه
ConSIT: a fully automated conditioned program slicer
1 Department of Computer Science, University of Essex, Wivenhoe Park, Colchester CO4 3SQ, U.K. E-mail: [email protected] 2 Department of Computing, Goldsmiths College, University of London, New Cross, London SE14 6NW, U.K. E-mail: [email protected] 3 Department of Information Systems and Computing, Brunel University, Uxbridge, Middlesex, UB8 3PH, U.K. E-mail: [email protected] and rob.h...
متن کاملKaveri: Delivering the Indus Java Program Slicer to Eclipse
This tool paper describes a modular program slicer for Java built using the Indus program analysis framework along with it’s Eclipse-based user interface called Kaveri. Indus provides a library of classes that enables users to quickly assemble a highly customized non-system dependence graph based inter-procedural program slicer capable of slicing concurrent Java programs. Kaveri is an Eclipse p...
متن کاملSOC : A Slicer for CSP Specifications ∗ [ System
This paper describes SOC, a program slicer for CSP specifications. In order to increase the precision of program slicing, SOC uses a new data structure called Context-sensitive Synchronized Control Flow Graph (CSCFG). Given a CSP specification, SOC generates its associated CSCFG and produces from it two different kinds of slices; which correspond to two different static analyses. We present the...
متن کاملSlicing Pointers and Procedures (abstract)
Program slicing restricts attention the components of a program relevant to evaluation of one expression, the slicing criterion. Our slicer, which explicitly represents the store as an aggregate value is the rst to support arbitrary pointer manipulations and aggregate values, and is faster than more limited techniques. We also improve the asymptotic complexity of slicing in the presence of proc...
متن کاملA Program Slicer Using Def-Slice-Use Tables for Efficiently Slicing Both User-Defined and Library Functions
Program slicing is a technique for statically analyzing a program and extracting an executable sub-program, which is called a program slice, from the original program. This technique has been widely applied to program testing, debugging and maintenance. This paper presents a slicing method for extracting program slices from a program that calls library functions, which are provided as object co...
متن کامل